Skip to content

[fix] Correct a pair of "when you discard one or more X cards" triggered abilities#14550

Merged
muz merged 2 commits into
magefree:masterfrom
muz:DiscardOneOrMoreCardsTriggeredAbility_filter
Jun 14, 2026
Merged

[fix] Correct a pair of "when you discard one or more X cards" triggered abilities#14550
muz merged 2 commits into
magefree:masterfrom
muz:DiscardOneOrMoreCardsTriggeredAbility_filter

Conversation

@muz

@muz muz commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

This should not be merged until after #14335 is complete.

  • [MSC] Implement Doctor Doom, King of Latveria #14335 was reviewed and identified mis-use of DiscardCardControllerTriggeredAbility where DiscardOneOrMoreCardsTriggeredAbility should be used
  • Doctor Doom has a requirement to filter on the cards being discarded so DiscardOneOrMoreCardsTriggeredAbility was updated to support this in a backwards compatible manner
  • I did a quick audit to see elsewhere WotC has had "whenever you discard one or more cards" and found these two card implementations
  • Both cards are using the wrong TriggerAbility, and can use the updated one that takes a filter arg

@muz muz force-pushed the DiscardOneOrMoreCardsTriggeredAbility_filter branch from 67063ef to d4b7ca6 Compare May 31, 2026 17:48
@muz muz marked this pull request as ready for review May 31, 2026 17:49
@muz

muz commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

Rebased and amended the git history. We can use the Ability changes introduced in #14335 now so that these cards are implemented correctly.

@xenohedron xenohedron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this was actually bugged in practice due to the "triggers only once each turn", but nice to align it.

private static final FilterCard filter = new FilterArtifactCard("one or more artifact cards");

public MishraExcavationProdigy(UUID ownerId, CardSetInfo setInfo) {
public MishraExcavationProdigy(UUID ownerId, CardSetInfo setInfo) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wrong indentation?

@JayDi85

JayDi85 commented Jun 1, 2026

Copy link
Copy Markdown
Member

@xenohedron not for PR, but there are possible many other places to check for wrongly usage one or more triggers, search code by "one or more:

shot_260601_070040

Some of it uses weird workarounds like
shot_260601_070324

But some of it do nothing and can trigger multiple times. Must be fixed by group/batch events or by another ways (if really buggy).

@muz muz force-pushed the DiscardOneOrMoreCardsTriggeredAbility_filter branch from d4b7ca6 to 3b2f952 Compare June 14, 2026 03:08
@muz muz merged commit 0967122 into magefree:master Jun 14, 2026
2 of 3 checks passed
@muz muz deleted the DiscardOneOrMoreCardsTriggeredAbility_filter branch June 14, 2026 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants